home *** CD-ROM | disk | FTP | other *** search
/ Apple Reference & Present…nuary (Partner) - Disc 1 / The Apple Reference and Presentations Library (Disc 1)(January 1994).iso / Snow / US English / Atlantis / Atlantis™ Data-PPC / Atlantis™ Data Publisher / Atlantis™ Data Publisher.rsrc / HLP_131_RW 4 < prev    next >
Text File  |  1994-03-30  |  33KB  |  569 lines

  1. uld give you +1.23 if positive or -1.23 if negative 
  2.  
  3. * Section *
  4. 15.7.1  Embedded Plus or Minus Signs (hyphen)
  5.  
  6.      You can insert a plus or minus sign in the middle of a number if you would like to print a number with a hyphen in the middle.  This is useful for telephone numbers, social security numbers and so forth.  
  7.  
  8.           Example:  000-0000 
  9.  
  10.      To use minus signs this way, you must have at least one minus sign that is embedded within the number.  You can not have it at the end or beginning of the number, or it will be used as a negative number symbol by the program.
  11.  
  12. * Section *
  13. 15.7.2  Embedded Parentheses
  14.  
  15.      You can insert parentheses in the middle of a number to have it print out on your report.  
  16.  
  17.           Example:  (00)0000
  18.  
  19.      To use parentheses this way, you can not insert at the beginning and the end of the number.  You must have one parentheses that is embedded within the number.  Also, the only digit that can be used is the 0, not the 9.  Or an X can be used inside the parenthesis.
  20.  
  21.      It is not possible to change the format on existing phone number fields.  They have their own pre-defined format.  If formatting is attempted, unpredictable results will occur.
  22.  
  23.      See Sections 15.9 and 15.14 of this chapter for other uses of parentheses.
  24.  
  25. * Section *
  26. 15.8  Asterisks
  27.  
  28.      You can insert asterisks in the design window to get numbers printed out with leading asterisks.  This is useful if you would like to print checks with check protection symbols.  You can also use it for highlighting numbers, when used with .if statements.
  29.  
  30.           Example:  ***,***.99 
  31.  
  32.           with a value of 12.34 would print as ***,*12.34  
  33.  
  34.           Example:  ***,**9.99
  35.  
  36.           with a value of .12 would print as ***,**0.12  
  37.           
  38.           Example:  ***,***.99
  39.  
  40.           with a value of .12 would print as ***,***.12 
  41.  
  42. * Section *
  43. 15.9  Parentheses around Negative Numbers
  44.      
  45.      If you would like to enclose your negative numbers in parentheses, rather than using the minus sign, insert parentheses in your design window around the numbers.  They must be placed at the beginning and end of the number (not in the middle).
  46.  
  47.      The parentheses will print on the report if the number is negative.
  48.  
  49.           Example:  (999,990.00) 
  50.  
  51.           with a value of 12.34 would print as (     12.34)  
  52.  
  53.      If you would like to move over the left parenthesis so that there are no spaces between it and the start of the number, enter more than one parenthesis.
  54.  
  55.           Example:  ((((((990.00) 
  56.  
  57.           with a value of 12.34- would print as (12.34)
  58.  
  59.      Positive numbers will print without parentheses.
  60.  
  61. * Section *
  62. 15.10  Size of Numeric Fields
  63.  
  64.      Note when changing numeric fields, you must always allow for enough space to print out your number.  If your number contains seven characters, and you have only six allowed for in the design window, you will not get a number.  Instead you will get <<<<<<<<<< printed on your report.  Also, if not enough space is allowed, any totalling or other calculations will not be done correctly, so be sure to allow enough space for numeric fields.  
  65.  
  66.      If there are more digits to the right of a decimal point, any extra digits will be ignored.  They will not round up or down automatically, unless you set it up that way.  See Section 14.5 of this chapter for details on rounding numbers and decimals.
  67.  
  68. * Section *
  69. 15.11 Changing Characters to Lower Case
  70.  
  71.      When you select a field which contains letters in it, rather than numbers, it will display X's across the design window, depending upon how wide the field is.  The X tells the program to print the field exactly as it appears in the record, whether lower case or upper case.
  72.  
  73.      If you would like to change upper case letters to lower case letters, change the X's on your screen to x's.  The characters that you change will be translated to lower case.
  74.  
  75.           Example:  Xxxxxxxxxxxxx
  76.  
  77.      In the example above, all but the first character will print out as lower case letters.
  78.  
  79. * Section *
  80. 15.12  Justification
  81.  
  82.      You can justify your field to the left, to the right or you can center the field.  (Normally the field will appear as right justification for numerics and left justification for characters.)
  83.  
  84.      To left justify a field, insert a ` just before the field.  The field will not appear as left-justified, but the detailed lines of the report will.
  85.  
  86.      To right justify a field, insert a ' just before the field.  
  87.  
  88.      To center a field, insert a ^ just before the field.  The field's contents will be printed in the center of the area formatted for it.
  89.  
  90. * Section *
  91. 15.13  Date Formats
  92.  
  93.      The default format of the report writer is mm/dd/yy.  If you would like your dates to print another way, the following options are available:
  94.  
  95.          dd - day number 
  96.          mm - month 
  97.          yy - year
  98.          cc - century
  99.          lll - month  (Jan, Feb, ...) 
  100.          jjjjjjj - Julian Date  
  101.          nnn - Day of Year 
  102.  
  103.      You can replace the mm/dd/yy field with any of the above characters.  Any one character included (such as spaces, slashes or dashes) will appear as a literal on your report.
  104.  
  105.           The following examples include formats and how January 1, 1991 would print:
  106.  
  107.                lll dd, ccyy to get Jan 01, 1991
  108.  
  109.                dd lll ccyy to get 01 Jan 1991
  110.  
  111.                jjjjj to get 726350
  112.  
  113.                mm-dd-yy to get 01-01-91
  114.  
  115.      You can create any format needed, and include literal text values to get the exact format you need for your dates.
  116.  
  117. * Section *
  118. 15.14  Repeating Characters
  119.  
  120.      If you have some formats which are too large to comfortably enter, you can enter repeating characters.  For example:
  121.  
  122.           X(30)
  123.  
  124.      is the same as typing 30 X's in the design window.  Note that Section 14.7.2 and 14.9 parentheses might be understood by the writer if this isn't correctly specified.
  125.  
  126. * Section *
  127. 15.15  Format Errors
  128.  
  129.      Do not use a combination of "floating" characters in a format.  These include the:
  130.  
  131.           - hyphen
  132.           - dollar sign
  133.           - asterisk 
  134.           - 9
  135.  
  136.      For example, if you are using dollar signs in a format, do not enter a 9 on the same format.
  137.  
  138.  
  139. * Chapter *
  140. * Section *
  141. 16.1  Definitions Menu
  142.  
  143.      The Definitions Menu contains options which can be used to define your files and fields so that Atlantis™ can locate and read your data files.  
  144.  
  145.      The file definitions include the format of the data, the size of the records, fields, and other information.  For example, the program will not know what string of data is your customer name and where it is located unless you tell it.
  146.  
  147.      The Definitions Menu selections include:
  148.  
  149.           - File Definitions
  150.           - Define Relatonships
  151.           - Load Definitions
  152.           - Choose Dictionary
  153.  
  154.      The Define Relationships selection is covered fully in Chapter 18 of this User's Guide.  
  155.  
  156.      In this chapter first we'll cover the Load Definitions and Choose Dictionary features, and then the file definitions.
  157.  
  158. * Section *
  159. 16.2  Loading Definitions
  160.  
  161.      Some types of data, can be easily read by Atlantis™.  To define data files that use these formats, select the appropriate load item from the Definitions Menu.  
  162.  
  163. * Section *
  164. 16.2.1  Disk File Name Containing Definitions
  165.  
  166.      Enter the name of the actual file that contains the data you wish to use, in the following format:
  167.  
  168.           Macintosh HD:folder:folder:filename
  169.  
  170.      Use as many folders as appropriate to indicate the location of your file.
  171.  
  172. * Section *
  173. 16.2.2  Dictionary File Name
  174.  
  175.      Enter a name for the data dictionary.  This file name does not need to match the name of the file as it appears in your folder.  This file name will appear in your file list box used when creating report designs.
  176.  
  177. * Section *
  178. 16.2.3  Dictionary Field Name Prefix
  179.  
  180.      Enter a prefix here if you have several files which contain duplicate field names.  The prefix will identify which file the field is located in.  This may be necessary since you can not have two identical field names in your data dictionary, even if located in different files.
  181.  
  182.      Click Save when all the information is entered, or click Cancel to start over.
  183.  
  184.      If you would like to review or edit your file definition as loaded, you can access it through the Definitions Menu.
  185.  
  186. * Section *
  187. 16.3  Choosing Data Dictionaries
  188.  
  189.      Select Choose Data Dictionary from the Definitions Menu if you have had your files and fields pre-defined in a Data Dictionary for you.  For this version of the program, you will need to indicate the folder containing the Data Dictionary in this format:
  190.  
  191.           Macintosh HD:folder:folder:filename
  192.  
  193.      where the data dictionary is in the folder named dta.  Only one data dictionary can be in any one folder, but you can have other data dictionaries in other folders. This allows you to run the Report Writer and access data from any location on your computer.
  194.  
  195. * Section *
  196. 16.4  File Definitions
  197.  
  198.      Files which are not in the formats using the load options, or which are not previously defined, will have to be defined in the manner outlined in this chapter.
  199.  
  200.      Select File Definitions from the Definitions Menu to define files and fields so that the Atlantis™ program can locate and read your data files.  
  201.  
  202.      This information is entered on the file definitions window:
  203.  
  204.      Once a file is defined, it will appear in the list of file names when you select Choose File off the Design menu.  After defining your file(s), see the next chapter for details on field definitions (except load-able files as described above).  If you will be combining two or more files into a single report, see also Chapter 17.
  205.  
  206. * Section *
  207. 16.4.1  File Name
  208.  
  209.      Select Define Files from the File Definitions Menu.   Enter a name for the file.  This file name does not need to match the name of the file as it appears in your folder.  This name is a working title used for the list box for report designs.
  210.  
  211.      To select an existing file for review or edit, click the arrow to the right of the File Name field to bring a menu of existing file names.
  212.  
  213. * Section *
  214. 16.4.2  File Description
  215.  
  216.      Enter a description of the file.  This description will appear in the dialog box beside the file name.
  217.  
  218. * Section *
  219. 16.4.3  Name of File on Disk
  220.  
  221.      Enter the name of the file as it appears on your computer, using the format described above in Section 15.1.
  222.  
  223.           Example:  Macintosh HD:Report Writer:customers
  224.  
  225. * Section *
  226. 16.4.5  File Type
  227.  
  228.      Select a file type from the following list.  Also included are notes and more information.  Note:  your version may not support all of these formats.
  229.  
  230. 
  231. (Blank)   (Press the <Enter> key).
  232.           Normal Fixed Length Records, used for the following:
  233.  
  234.           -  BASIC (but not C-Basic)
  235.  
  236.           -  Other files with fixed length records, whether binary or ASCII 
  237.  
  238.           When using this file type, the program will recognize a Ctrl-Z (Hex 1A) at the first byte of a record as the end-of-file marker and ignore all subsequent records.
  239.  
  240.      A    Variable Length ASCII
  241.  
  242.                This is used for variable length records which end with a line feed regardless of length.  The size of record is the maximum size a record might be, including the record terminators such as carriage return/line feed.
  243.  
  244.                Atlantis™ will recognize a Ctrl-Z (Hex 1A) at first byte of a record as the end-of-file marker and ignore all subsequent records.
  245.  
  246.                This is also used for Softbol indexed files.
  247.  
  248.      B    Variable Length Binary
  249.  
  250.                This is used for records which have a word at the beginning of each record, stating the length of that record.  The size of record is the maximum number of characters a record might occupy plus 2.
  251.  
  252.      
  253.      C    C-BASIC Comma Delimited
  254.  
  255.                This is used for comma-delimited variable length fields in C-Basic format.  String fields are enclosed in double quotes.  Records terminate with a carriage return/line feed, but are fixed length.  Relative field numbers are used, rather than field locations.
  256.  
  257.      D    dBASE II
  258.  
  259.                This is used for a dBASE II file to read past the header information in the .DBF file.
  260.  
  261.      E    dBASE III
  262.  
  263.                This is used for a dBASE III file to read past the header information in the .DBF file.
  264.  
  265.      F    DataFlex (Version 2.1 and 2.2 only)
  266.  
  267.      G    DataFlex (Version 2.3 only)
  268.  
  269.  
  270.      O    Open Systems Version 2
  271.  
  272.                This is designed specifically to access Open Systems SMC Basic files.  Fields for Open Systems are defined like C-BASIC fields, i.e., comma-delimited, and relative field numbers are used rather than field locations.
  273.  
  274.      
  275.      T    BTRIEVE
  276.  
  277.                This is used for Btrieve files.  Btrieve must be running before a Query is done.
  278.  
  279.      W    Lotus .WKS and related files
  280.  
  281.      X    BBX Direct & M-Keyed
  282. 
  283.  
  284. * Section *
  285. 16.4.6  Size of Record
  286.  
  287.      Add together all of sizes (in bytes) of the fields and enter the total.  Be sure to check the notes for your file type in the prior section, to see if there are any specification modifications to the size of the record.  
  288.  
  289.      Include hidden characters and fields, such as carriage return, line feed combinations (0D, 0A hex).   Refer to your application's documentation to see if you have any hidden bytes per record.  If the file has variable length records, the record size must be the maximum characters it can occupy.
  290.  
  291. * Section *
  292. 16.4.7  Primary & Alt Lookup Keys
  293.  
  294.      A key is a field that uniquely identifies a record.  A key field is used when doing a look-up between files.  You may want to study the chapter on defining relationships in order to fully understand the use of key fields.  You can leave this entry blank and fill in key fields later, if needed.
  295.  
  296.      If your reports will not need to combine data from multiple files, do not be concerned with defining key fields.
  297.  
  298.      If you do want to proceed with defining key fields, here is an example:  the customer account number field in your customer information file may be a key field, as no two customers would have the same account number.  It can match a customer number field in another file, allowing you to relate data between files.  
  299.  
  300.      It is necessary to define the size of key, as well as its byte location in the record, as part of the file definition.  The program can then match a field in the file used for your report with a field in the looked up file, to link the two files.
  301.  
  302.      You may have a primary key and up to five alternate keys.  If you want to access the file from another file(s) which does not contain a field that matches the primary key field of this file, but which matches an alternate key, you may need to define alternate keys here.  You would then specify the key number when defining the file relationship.
  303.  
  304.           Example:  invoice no -> company name.key[3]
  305.  
  306.      This is also useful when the primary key will be used for one-to-one look-ups, and the alternate key will be used for one-to-many look-ups.
  307.  
  308.      Enter the size and byte location of the primary key first, and then the sizes and locations of up to five alternate key fields.  When defining more than one key field, the keys are numbered 1-6, from left to right.
  309.  
  310.      In some cases you may have two (or more) fields, located consecutively in the file, which when combined form the key to the file.  If so, specify the size of key as the total length of all fields in key.
  311.  
  312.      On one-to-many look-ups, you can add to the size of the key to "sort" the records on the look-up.  
  313. 
  314.                CUSFIL.DAT                      INVOICE.DAT    
  315.            ___________________       ______________________________
  316.           |                   |     |                              |
  317.           |    Field Size     |     |   Field Size   Field Size    |
  318.           |        6          |     |       6            5         |
  319.           |                   |     |                              |
  320.           |   account no -------------- account no   invoice no    |
  321.           |                   |     |                invoice no    |
  322.           |                   |     |                invoice no    |
  323.           |                   |     |                              |
  324.           |   account no -------------- account no   invoice no    |
  325.           |                   |     |                invoice no    |
  326.           |                   |     |                invoice no    |
  327.           |___________________|     |______________________________|
  328.      
  329.  
  330.      In the preceding example, the key field may be an account number, size of key 6.  The next field in record may be the invoice number, size of key 5.  In order to sort by the invoice number (within each account number) when performing the one-to-many look-up, you can specify the size of key as 11, to include both fields.  As a one-to-many look-up creates a level break automatically, this will allow for the sort after the level break.
  331.  
  332. * Section *
  333. 16.4.8  Field Separator Value
  334.  
  335.      Enter the decimal value (from 0 - 255) of the field separator.  The documentation for your data base should tell that value.  For instance, if the file uses a Ctrl-G to separate each field, enter the decimal value for Ctrl-G, which is a 7.  (Decimal values can be found in an ASCII Character Set.)
  336.  
  337.      If your application does not use field separators, press the <Enter> key to leave this entry blank.  Also note the following special cases relating to Field Separator Values.
  338.  
  339. Using a NULL as a Field Separator
  340.  
  341.      To use a NULL as a field separator leave the field separator entry on the file definition screen blank.  Note that this has no effect unless the fields defined for the file use relative field locations, as dicussed later in this chapter at Field Number in Record.
  342.  
  343. Entering a Range of Field Separators
  344.  
  345.      It is possible to enter a range of decimal values for the field separator, rather than one specific decimal value.  This is useful if you have more than one possible field separator in a file.
  346.  
  347.      If your decimal value entered is:
  348.  
  349.           0-255 - the field separator value is exactly that value.  
  350.  
  351.                     Example:  150
  352.  
  353.           256-511 - the field separator value is less than or equal to (that value - 256)
  354.  
  355.                     Example:  406 means <= 150
  356.  
  357.           512-767 - the field separator value is greater than or equal to (that value - 512)
  358.  
  359.                     Example:  662 means => 150
  360.  
  361. Fields with a Leading Length Byte
  362.  
  363.      If the file you are defining is set up in such a way that the fields have a leading length byte which gives the length of the field (eg. Pascal string types), then enter 999 as the Field Separator Value.  Here is an example:
  364.  
  365. 
  366.                        Field 1   Field 2     Field 3     Field 4
  367.        Leading
  368.        Length Byte --> 4 J O H N 5 S M I T H 5 H O M E R 2 A K
  369.        & Field Values
  370.  
  371.        Record                            1 1 1 1 1 1 1 1 1 1 2    
  372.        Location    --> 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
  373.  
  374. 
  375.      In the above example, there is one byte before each field value which indicates the length of that field for that particular record.  These numbers will vary from record 
  376.      to record, depending on the values within each field.  
  377.  
  378.      If your files are set in this manner, enter 999 as the Field Separator Value.  When defining the fields for this type of file, note the following:
  379.  
  380.           The Field Start Location will be the byte position of the first field in the block.
  381.  
  382.           Each of the sections of this block will have a relative Field Number in Record, starting with 1 for the 
  383.           first field in the block.  
  384.  
  385.           The Max Number of Char for each of these fields is used in the normal fashion and is set to the maximum number of characters that each field can be.
  386.  
  387. * Section *
  388. 16.4.9  Location of Delete Flag
  389.  
  390.      If you have an application that does not actually delete records, but instead uses a delete flag in a certain byte position to mark a record as deleted, enter the byte number of that delete flag here.  If the program then sees a record with a delete flag, it will ignore that record.
  391.  
  392.      If your application is not set up in this way, leave this entry blank.
  393.  
  394. * Section *
  395. 16.4.10  ASCII Value
  396.  
  397.      If you entered a location of delete flag, then enter that delete's flag's decimal value here.  Refer to an ASCII Character Set, if necessary.
  398.  
  399.      If your application does not use delete flags, leave this entry blank.
  400.  
  401. * Section *
  402. 16.4.11  Char Count
  403.  
  404.      If you entered a location of delete flag, then enter the number of characters that comprise one delete flag.  For example, some applications fill an entire record with spaces when a record has been deleted.  In such a case, the character count would be the record size up to 511.  Note that you need only check for enough characters to be sure it is not a valid record with a blank field entry.
  405.  
  406.      If your application does not use delete flags, leave this entry blank.
  407.  
  408. * Section *
  409. 16.4.12  Using Delete Flag Entries to Mark Good Records
  410.  
  411.      You can use the Delete Flag entries in the file definition to specify what marks a record as a good record, as opposed to what marks a record as deleted.  This is quite useful for applications which have more than one record type within the same file.  
  412.  
  413.      This type of application generally uses a field within the record to distinguish between record types.  For example you may have a transaction file which contains job costing records, accounts receivable records, and accounts payable records.  The record type field might be  J, R, and P, respectively.  You would create a file definition for each record type and use the Delete Flag entries as outlined below to automatically select only record type J's for job cost records, record type R's for accounts receivable records, and record type P's for accounts payable records.  In this way each file will only include the appropriate record type.
  414.      
  415.  
  416. FILE DEFINITION VARIABLE      VALUE            MEANING
  417.  
  418. Delete Flag Location          0-9999         The starting byte location
  419.                                              within the record of the flag.
  420.  
  421. ASCII value                   0-255          The character value of the flag.
  422.  
  423. Char Count                    0-512          The length of the flag and should 
  424.                                              be treated as a delete flag.
  425.  
  426.                               513-1024       When entering a value between
  427.                                              513 and 1024 at Char Count, 
  428.                                              then the length of the flag is determined by the program by
  429.                                              subtracting 512 from the value 
  430.                                              entered.  A value entered between 
  431.                                              513 and 1024 is treated as a 
  432.                                              good flag, not a delete flag.  
  433.                                              (See example below.)
  434. Example:
  435.      If you want to use the value R at byte location 34 as a good record marker, then: Delete Flag location = 34, ASCII Value is 82 Character Count is 512 + 1 (Actual Count of Char) = 513
  436.  
  437. * Section *
  438. 16.4.13  Start of Data Loc
  439.  
  440.      This is the byte number of the start location of data.  This entry can be used to read past any header or index information up to and including 9,999,999 bytes.
  441.  
  442.      If you are using a file type in which Atlantis™ automatically reads past the header, it is recommended that you leave this blank.  Refer to the File Types above.  Also leave this entry blank if the file has no header or index information at the beginning.
  443.  
  444.      You can enter a number here if you want the program to ignore some data records at the beginning of your file.  Multiply the number of records to ignore by the size of each record.  Use this number as the Start of Data Loc.  (This can be done at End of Data also.)
  445.  
  446.      You can also use this feature (in conjunction with End of Data), to separate a master file into two or more different 'files' to be accessed by Atlantis™.  See the Separating the File section immediately following the End of Data.
  447.  
  448. * Section *
  449. 16.4.14  End of Data
  450.  
  451.      This entry can be used if you have a program which initially allocates space for all possible records in the file (several of these records may be blank).  You can enter the end of data here, so that the program will not read all of the blank records at the end of the file.
  452.  
  453.      If your file is not set up in this manner, you can leave this entry blank.
  454.      
  455.      You can also use this feature to 'force' the end of file.  For example, you may want to test a query/report on just a few records in the file, not the entire file.  You can enter an End of Data location, based on the number of records you want to use for the report, multiplied by the record size.
  456.  
  457.      You can use this feature (in conjunction of Start of Data), to separate a master file into two or more different 'files' to be accessed by Atlantis™ Data Publisher.  (See below.)
  458.  
  459. * Section *
  460. 16.4.15  Separating a Master File
  461.  
  462.      You can use the Start of Data and End of Data entries to logically split a file.  For example, you may have a master file which contains three sections, each with a different record type.  These different record types would most likely be sorted within the master file so that there are three separate sections of the file.  You can use Start of Data to skip over the first and second sections of the file, and at the same time use End of Data to stop at the second and third sections, respectively.
  463.  
  464.      You must know the record sizes of each of these sections, and the number of records, so that you can calculate the Start of Data Loc for the next section.  The Start of Data for the first section will be 1.  Calculate starting and ending locations as follows:
  465.  
  466.      
  467. Record Size        Number on Records     End of Data Loc
  468. of Section 1    x    in Section 1     =   of Section 1    
  469.  
  470. End of Data Loc                          Start of Data 
  471. of Section 1             + 1          =  of Section 2  
  472.  
  473. Record Size        Number on Records                           End of Data Loc
  474. of Section 2    x    in Section 2     +  Size of Section 1  =  for Section 2
  475.      
  476.      Below is an example in which the master file has a field named record type.  The file is then broken down into three sections, one for each record type.
  477.      
  478.               MASTER FILE
  479.      ______________________________      
  480.     |                              |
  481.     |           BLOCK 1            |   Start of Data = 1
  482.     |                              |
  483.     | Record Type   1              |
  484.     | Size of Record    100 bytes  |
  485.     | No of Records      20        |
  486.     | Size of Block 1  2000 bytes  |   End of Data =  20,000
  487.     |______________________________|     
  488.     |                              |
  489.     |           BLOCK 2            |   Start of Data = 20,001
  490.     |                              |
  491.     | Record Type   2              |
  492.     | Size of Record     50 bytes  |
  493.     | No of Records      10        |
  494.     | Size of Block 2   500 bytes  |   End of Data =  20,501
  495.     |______________________________|     
  496.     |                              |
  497.     |           BLOCK 3            |   Start of Data = 20,502
  498.     |                              |
  499.     | Record Type   3              |
  500.     | Size of Record    200 bytes  |   End of Data = 21,302
  501.     | No of Records       4        |   (or leave blank to 
  502.     | Size of Block 3   800 bytes  |   default to End of File)
  503.     |______________________________|    
  504. 
  505.      Calculate the Start of Data and End of Data for each section of your master file.  Then you must create separate file definitions (and their respective field definitions) for each section of the master file.  Each file definition must have a different file name at File Name on the first line, although they will all have the same Name of File on Disk.  When defining the fields, note that no two field names can be identical, so you may have to add a prefix.
  506.  
  507.       
  508. * Section *
  509. 16.4.16  Keep Index Permanent ?
  510.  
  511.      This option is in reference to the temporary index file that is created when combining two or more files into a single report (file look-up).  These temporary index files are named in the following format:  filename.qdn (where n is replaced by the key number).  The filename would be the actual name of the file being looked up.  qd stands for query index.
  512.  
  513.      Normally this file is deleted after the report is printed, and then a new index is built for the next report.  However, you can save this index file by indicating Y next to Keep Index File Permanent.  This will save time, as the index file will not have to be rebuilt each time a new report is run.  The index file will be rebuilt only if the file date and time on the data file is later than the look-up index file. 
  514.  
  515. * Section *
  516. 16.4.17  Saving the File Definition
  517.  
  518.      Click the Save button when finished.  Once a file definition is saved, you can create (or change) the field definitions for that file.  See Chapter 17.
  519.  
  520. * Section *
  521. 16.5  Changing File Definitions
  522.  
  523.      Select File Definitions from the Definitions Menu, and then select the file name from the menu at the right of the file name field.  You can make changes and then click on OK to save the file definition.  The field definitions window will then display.  
  524.  
  525. * Section *
  526. 16.6  Deleting File Definitions
  527.  
  528.      Select File Definitions from the Definitions Menu.  Then select the file name from the menu at the right of the file name field.  Click the Delete button to delete the file definition, as well as all of the field definitions for that file.  
  529.  
  530. * Section *
  531. 16.7  Defining Fields
  532.  
  533.      Once the file is defined, define the fields for that file which will be included in your reports.  See Chapter 16.
  534.  
  535.  
  536. * Chapter *
  537. * Section *
  538. 17.1  Defining Fields 
  539.  
  540.      The field definitions window appears automatically after saving a file definition.  Define only those fields which are part of the file name listed at the top of the field definition window.  If necessary, you can cancel out of this window to get back to the file definition window and select another file name.  
  541.  
  542.  
  543. * Section *
  544. 17.2  Field Names
  545.  
  546.      Enter a name for the field.  You can use letters, numbers, spaces and underscores.  Use a field name prefix if you will have several duplicate field names in different files, as each field name must be different, even if in a different file.  For example, you can not have a field named customer name in your mailing list file and another field named customer name in your sales file.  You could, however, have a field named cust customer name and another named sales customer name.  Do not use selection criteria or mathematical calculation symbols, such as:  ( ) * / + - . ; [ ] , < > = & : .
  547.  
  548. * Section *
  549. 17.2.1  Multiple Field Names and Definitions
  550.  
  551.      You may use more than one field name for the same field location in a record.  Sometimes it is useful to define the same field more than once, with a different data type or format or heading, so that when you pull that field information from the file and use it in various reports, it will have the appropriate data type, format or heading.
  552.  
  553.      As an example, you may have a main account number and a sub-account number, which are defined as numerics and are two different fields.  When the two fields are combined, they may equal the key to the file.  You may wish to define those fields as one and call it account number.  You would need to add the size of both fields to get the size of the new field definition.  In this case, the main account number may be 4, and the sub-account number 3, so the account number would be 7.  You may want to define it using an alphanumeric field type for look-up purposes.
  554.  
  555. * Section *
  556. 17.3  Field Description
  557.  
  558.      Enter a description of the field.  This description will appear in the list box when selecting at Choose Fields.
  559.  
  560. * Section *
  561. 17.4  Automatic Heading
  562.  
  563.      When you design a report, the program automatically inserts headings above the field names selected.  Enter a heading for the field.  Do not exceed the width of the field.
  564.  
  565. * Section *
  566. 17.5  Field Type
  567.  
  568.      Select a field type from the list.  The field type is a 
  569.      code which